﻿using System.Windows;

namespace D3StatsClient.Model
{
    public class SessionStats : DependencyObject
    {



        public int Gold
        {
            get { return (int)GetValue(GoldProperty); }
            set { SetValue(GoldProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Gold.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty GoldProperty =
            DependencyProperty.Register("Gold", typeof(int), typeof(SessionStats), new PropertyMetadata(0));

        

        public int TotalItems
        {
            get { return (int)GetValue(TotalItemsProperty); }
            set { SetValue(TotalItemsProperty, value); }
        }

        // Using a DependencyProperty as the backing store for TotalItems.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty TotalItemsProperty =
            DependencyProperty.Register("TotalItems", typeof(int), typeof(SessionStats), new PropertyMetadata(0));


        public double ILevel63Percentage
        {
            get { return (double)GetValue(ILevel63PercentageProperty); }
            set { SetValue(ILevel63PercentageProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ILevel63Percentage.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ILevel63PercentageProperty =
            DependencyProperty.Register("ILevel63Percentage", typeof(double), typeof(SessionStats), new PropertyMetadata(0.0));


        public int Rares
        {
            get { return (int)GetValue(RaresProperty); }
            set { SetValue(RaresProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Rares.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty RaresProperty =
            DependencyProperty.Register("Rares", typeof(int), typeof(SessionStats), new PropertyMetadata(0));


        public int Magic
        {
            get { return (int)GetValue(MagicProperty); }
            set { SetValue(MagicProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Magic.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty MagicProperty =
            DependencyProperty.Register("Magic", typeof(int), typeof(SessionStats), new PropertyMetadata(0));


        public int Legendaries
        {
            get { return (int)GetValue(LegendariesProperty); }
            set { SetValue(LegendariesProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Legendaries.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty LegendariesProperty =
            DependencyProperty.Register("Legendaries", typeof(int), typeof(SessionStats), new PropertyMetadata(0));


        public int Set
        {
            get { return (int)GetValue(SetProperty); }
            set { SetValue(SetProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Set.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty SetProperty =
            DependencyProperty.Register("Set", typeof(int), typeof(SessionStats), new PropertyMetadata(0));

        public int ILevel61Number
        {
            get { return (int)GetValue(ILevel61NumberProperty); }
            set { SetValue(ILevel61NumberProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ILevel61Number.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ILevel61NumberProperty =
            DependencyProperty.Register("ILevel61Number", typeof(int), typeof(SessionStats), new PropertyMetadata(0));


        public int ILevel62Number
        {
            get { return (int)GetValue(ILevel62NumberProperty); }
            set { SetValue(ILevel62NumberProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ILevel62Number.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ILevel62NumberProperty =
            DependencyProperty.Register("ILevel62Number", typeof(int), typeof(SessionStats), new PropertyMetadata(0));


        public int ILevel63Number
        {
            get { return (int)GetValue(ILevel63NumberProperty); }
            set { SetValue(ILevel63NumberProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ILevel63Number.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ILevel63NumberProperty =
            DependencyProperty.Register("ILevel63Number", typeof(int), typeof(SessionStats), new PropertyMetadata(0));

    }
}
